// API相关配置

// API版本前缀和版本号
export const API_PREFIX = '/api';
export const API_VERSION = 'v1';

// API请求配置
export const API_CONFIG = {
  // 请求超时时间（毫秒）
  timeout: 30000,
  // 响应格式
  responseType: 'json',
  // 默认响应头
  headers: {
    'Content-Type': 'application/json'
  }
};

// 请求限制配置
export const RATE_LIMIT = {
  windowMs: 15 * 60 * 1000, // 15分钟
  max: 100, // 每个IP在windowMs时间内最多请求100次
  message: '请求过于频繁，请稍后再试'
};

// 跨域配置
export const CORS_OPTIONS = {
  origin: process.env.ALLOWED_ORIGINS || '*',
  methods: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],
  allowedHeaders: ['Content-Type', 'Authorization'],
  exposedHeaders: ['Content-Range', 'X-Content-Range'],
  credentials: true,
  maxAge: 86400 // 预检请求缓存时间，24小时
};

// 认证配置
export const AUTH_CONFIG = {
  // JWT配置
  jwt: {
    secret: process.env.JWT_SECRET || 'your-secret-key',
    expiresIn: '24h', // token过期时间
    refreshExpiresIn: '7d', // 刷新token过期时间
  },
  // 不需要验证token的路由
  publicPaths: [
    '/api/v1/auth/login',
    '/api/v1/auth/register',
    '/api/v1/auth/refresh-token'
  ]
};